/* 
* Copyright (C) 2015,中油瑞飞, 
* All Rights Reserved 
* Description: TODO What the class does.   
* 
* @project 瑞信
* @author  Administrator
* @date    2016年9月16日-下午12:58:09
*
* Modification History: 
**********************************************************
* Date		  Author		    Comments
* 2016年9月16日	  Administrator			Create
**********************************************************
*/
package com.liuhaozzu.hibernate.test;

import java.util.ArrayList;
import java.util.List;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.junit.Test;

import com.liuhaozzu.hibernate.demo.po.one2many.Grade2;
import com.liuhaozzu.hibernate.demo.po.one2manybylist.Grade5;
import com.liuhaozzu.hibernate.demo.po.one2manybylist.Student5;
import com.liuhaozzu.hibernate.demo.po.onetableextendsmap.Student7;
import com.liuhaozzu.hibernate.demo.po.pertable4subclassextendsmap.Student8;
import com.liuhaozzu.hibernate.demo.utils.HibernateUtils;

/**
 * TODO What the class does
 * <p>Title:com.liuhaozzu.hibernate.test.CompositeIdTest.java</p>
 * <p>Description: </p>
 * <p>Company:www.richfit.com</p>
 * @author liuhaozzu
 * @date   2016年9月16日-下午12:58:09
 *
 */
public class PerTable4subclassExtendsMapTest2 {
	@Test
	public void testSave(){
		Session session=null;
		Transaction tx=null;
		try {
			session=HibernateUtils.getSession();
			tx=session.beginTransaction();
			
			//关联表的保存顺序是根据外键的配置来决定的
			//如果外键不能为null，那么先保存 一 端；
			//如果外键可以为null，则可以随意保存。
			Student8 s1=new Student8(16,"zhangsan","shangxue");
			session.save(s1);
			tx.commit();
			
			HibernateUtils.closeSession();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			tx.rollback();
			
		} finally {
			HibernateUtils.closeSession();
		}
	}
	@Test
	public void getTest(){
		Session session=null;
		Transaction tx=null;
		try {
			session=HibernateUtils.getSession();
			tx=session.beginTransaction();
			
			//关联表的保存顺序是根据外键的配置来决定的
			//如果外键不能为null，那么先保存 一 端；
			//如果外键可以为null，则可以随意保存。
			
			
			Grade2 grade2 = (Grade2) session.get(Grade2.class, 1);
			System.out.println(grade2.getName());
			System.out.println(grade2.getStudent2s());
			tx.commit();
			
			HibernateUtils.closeSession();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			tx.rollback();
			
		} finally {
			HibernateUtils.closeSession();
		}
	}
}
